JdbcTemplate এর মৌলিক ধারণা এবং কাজের প্রক্রিয়া

Java Technologies - স্প্রিং জেডিবিসি (Spring JDBC) JdbcTemplate এর ভূমিকা এবং ব্যবহার |
80
80

JdbcTemplate এর মৌলিক ধারণা

JdbcTemplate হলো স্প্রিং ফ্রেমওয়ার্কের একটি ক্লাস, যা JDBC (Java Database Connectivity)-এর মাধ্যমে ডাটাবেস অপারেশন (CRUD) সহজ এবং কার্যকর করে তোলে। এটি JDBC API-এর জটিলতা যেমন রিসোর্স ম্যানেজমেন্ট, SQL এক্সিকিউশন, এবং এক্সেপশন হ্যান্ডলিং সরিয়ে একটি সহজ ইন্টারফেস প্রদান করে।

মূল কাজ:

  • SQL স্টেটমেন্ট তৈরি এবং এক্সিকিউশন।
  • প্যারামিটারাইজড কুইয়ারি সমর্থন।
  • রিসোর্স ম্যানেজমেন্ট স্বয়ংক্রিয়ভাবে পরিচালনা করা।
  • রেজাল্টসেট প্রসেসিং সহজ করা।

JdbcTemplate এর কাজের প্রক্রিয়া

১. ডেটাসোর্স কনফিগারেশন

JdbcTemplate কাজ করার জন্য প্রথমে একটি DataSource কনফিগার করতে হয়, যা ডাটাবেসের সাথে কানেকশন স্থাপন করে।

@Bean
public DataSource dataSource() {
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://localhost:3306/mydb");
    dataSource.setUsername("root");
    dataSource.setPassword("password");
    return dataSource;
}

২. JdbcTemplate ইনস্ট্যান্স তৈরি

DataSource থেকে JdbcTemplate তৈরি করতে হবে।

@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
    return new JdbcTemplate(dataSource);
}

JdbcTemplate এর প্রধান অপারেশনসমূহ

১. ডেটা ইনসার্ট করা (Insert Data)

ডাটাবেসে ডেটা যোগ করার জন্য update মেথড ব্যবহার করা হয়।

public void insertEmployee(int id, String name, String department) {
    String sql = "INSERT INTO employee (id, name, department) VALUES (?, ?, ?)";
    jdbcTemplate.update(sql, id, name, department);
}

২. ডেটা আপডেট করা (Update Data)

ডাটাবেসের ডেটা আপডেট করার জন্যও update মেথড ব্যবহার করা হয়।

public void updateEmployeeDepartment(int id, String newDepartment) {
    String sql = "UPDATE employee SET department = ? WHERE id = ?";
    jdbcTemplate.update(sql, newDepartment, id);
}

৩. ডেটা মুছে ফেলা (Delete Data)

ডেটা ডিলিট করার জন্য update মেথড ব্যবহার করা হয়।

public void deleteEmployeeById(int id) {
    String sql = "DELETE FROM employee WHERE id = ?";
    jdbcTemplate.update(sql, id);
}

৪. ডেটা রিট্রিভ করা (Query for Single Row)

ডেটাবেস থেকে একটি নির্দিষ্ট রেকর্ড ফেচ করতে queryForObject ব্যবহার করা হয়।

public String getEmployeeNameById(int id) {
    String sql = "SELECT name FROM employee WHERE id = ?";
    return jdbcTemplate.queryForObject(sql, new Object[]{id}, String.class);
}

৫. মাল্টিপল রেকর্ড রিট্রিভ করা (Query for Multiple Rows)

ডাটাবেস থেকে একাধিক রেকর্ড রিট্রিভ করতে query এবং RowMapper ব্যবহার করা হয়।

public List<Employee> getAllEmployees() {
    String sql = "SELECT * FROM employee";
    return jdbcTemplate.query(sql, (rs, rowNum) -> 
        new Employee(
            rs.getInt("id"),
            rs.getString("name"),
            rs.getString("department")
        )
    );
}

JdbcTemplate এর মূল মেথডসমূহ

মেথডকাজ
update()INSERT, UPDATE, বা DELETE কুইয়ারি এক্সিকিউট করে।
queryForObject()একটি সিঙ্গেল রো বা ভ্যালু রিটার্ন করে।
query()মাল্টিপল রো প্রসেস করে এবং একটি লিস্ট রিটার্ন করে।
batchUpdate()মাল্টিপল SQL স্টেটমেন্ট একসাথে এক্সিকিউট করে।
execute()কাস্টম SQL স্টেটমেন্ট এক্সিকিউট করতে ব্যবহার করা হয়।

JdbcTemplate ব্যবহার করার সময় সুবিধা

  1. কম কোড:
    • বয়লারপ্লেট কোড যেমন Connection খোলা এবং বন্ধ করা, PreparedStatement তৈরি করা ইত্যাদি সরিয়ে দেয়।
  2. রিসোর্স ম্যানেজমেন্ট:
    • স্বয়ংক্রিয়ভাবে কানেকশন বন্ধ করে এবং রিসোর্স মুক্ত করে।
  3. এক্সেপশন হ্যান্ডলিং:
    • SQLException কে স্প্রিং এর কাস্টম এক্সেপশন (DataAccessException) এ রূপান্তর করে।
  4. ফ্লেক্সিবিলিটি:
    • কাস্টম কুইয়ারি এবং RowMapper ইন্টারফেস ব্যবহার করে ডেটা প্রসেসিং আরও ফ্লেক্সিবল করে।

JdbcTemplate এর সীমাবদ্ধতা

  • বড় এবং জটিল অ্যাপ্লিকেশনগুলিতে ORM টুল যেমন Hibernate বা JPA প্রয়োজন হতে পারে।
  • SQL কুইয়ারি ম্যানেজমেন্ট সম্পূর্ণরূপে ডেভেলপারের উপর নির্ভরশীল।

JdbcTemplate স্প্রিং জেডিবিসি ব্যবহারকারীদের জন্য একটি অত্যন্ত শক্তিশালী এবং সহজ সমাধান, বিশেষ করে যদি আপনি হালকা ডাটাবেস অপারেশন করতে চান।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion